package com.smartpro.mis.modular.system.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * <p>
 * 推广员表
 * </p>
 *
 * @author mengiy
 * @since 2019-05-07
 */
@TableName("distributor")
public class Distributor extends Model<Distributor> {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableId(value = "userID",type = IdType.INPUT)
    @NotNull
    private Integer userID;
    /**
     * 状态，0:已申请,1:审批通过,2:审批未通过,3:被清退
     */
    private Integer status;
    /**
     * 申请备注
     */
    private String applyForComments;
    /**
     * 拒绝申请原因
     */
    private String rejectReason;
    private String tags;
    /**
     * 是否个性推广员,0:是,1:否
     */
    private Integer isPersonalDistributor;
    private String kickoutReason;
    /**
     * 所属机构名称
     */
    private String belongToCompany;
    /**
     * 岗位
     */
    private Integer positionID;
    /**
     * 有效期天数
     */
    private Integer validationDays;
    /**
     * 保护期天数
     */
    private Integer protectionDays;
    /**
     * 推广成交次数
     */
    private Integer DistributeTimes;
    /**
     * 推广成交总额
     */
    private BigDecimal DistributeAmount;
    /**
     * 绩效总额
     */
    private BigDecimal TotalIncome;
    /**
     * 新建时间
     */
    private String createTime;
    /**
     * 修改时间
     */
    private String modifyTime;
    /**
     * 操作员id
     */
    private Integer operatorID;
    /**
     * 级别编码
     */
    private String levelCode;
    /**
     * 级别
     */
    private String levelName;

    public String getLevelCode() {
			return levelCode;
		}

		public void setLevelCode(String levelCode) {
			this.levelCode = levelCode;
		}

		public String getLevelName() {
			return levelName;
		}

		public void setLevelName(String levelName) {
			this.levelName = levelName;
		}

		public Integer getUserID() {
        return userID;
    }

    public void setUserID(Integer userID) {
        this.userID = userID;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getApplyForComments() {
        return applyForComments;
    }

    public void setApplyForComments(String applyForComments) {
        this.applyForComments = applyForComments;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public Integer getIsPersonalDistributor() {
        return isPersonalDistributor;
    }

    public void setIsPersonalDistributor(Integer isPersonalDistributor) {
        this.isPersonalDistributor = isPersonalDistributor;
    }

    public String getKickoutReason() {
        return kickoutReason;
    }

    public void setKickoutReason(String kickoutReason) {
        this.kickoutReason = kickoutReason;
    }

    public String getBelongToCompany() {
        return belongToCompany;
    }

    public void setBelongToCompany(String belongToCompany) {
        this.belongToCompany = belongToCompany;
    }

    public Integer getPositionID() {
        return positionID;
    }

    public void setPositionID(Integer positionID) {
        this.positionID = positionID;
    }

    public Integer getValidationDays() {
        return validationDays;
    }

    public void setValidationDays(Integer validationDays) {
        this.validationDays = validationDays;
    }

    public Integer getProtectionDays() {
        return protectionDays;
    }

    public void setProtectionDays(Integer protectionDays) {
        this.protectionDays = protectionDays;
    }

    public Integer getDistributeTimes() {
        return DistributeTimes;
    }

    public void setDistributeTimes(Integer DistributeTimes) {
        this.DistributeTimes = DistributeTimes;
    }

    public BigDecimal getDistributeAmount() {
        return DistributeAmount;
    }

    public void setDistributeAmount(BigDecimal DistributeAmount) {
        this.DistributeAmount = DistributeAmount;
    }

    public BigDecimal getTotalIncome() {
        return TotalIncome;
    }

    public void setTotalIncome(BigDecimal TotalIncome) {
        this.TotalIncome = TotalIncome;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(String modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Integer getOperatorID() {
        return operatorID;
    }

    public void setOperatorID(Integer operatorID) {
        this.operatorID = operatorID;
    }

    @Override
    protected Serializable pkVal() {
        return this.userID;
    }

    @Override
    public String toString() {
        return "Distributor{" +
        "userID=" + userID +
        ", status=" + status +
        ", applyForComments=" + applyForComments +
        ", rejectReason=" + rejectReason +
        ", tags=" + tags +
        ", isPersonalDistributor=" + isPersonalDistributor +
        ", kickoutReason=" + kickoutReason +
        ", belongToCompany=" + belongToCompany +
        ", positionID=" + positionID +
        ", validationDays=" + validationDays +
        ", protectionDays=" + protectionDays +
        ", DistributeTimes=" + DistributeTimes +
        ", DistributeAmount=" + DistributeAmount +
        ", TotalIncome=" + TotalIncome +
        ", createTime=" + createTime +
        ", modifyTime=" + modifyTime +
        ", operatorID=" + operatorID +
        "}";
    }
}
